package day20;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

/**
 *
 * ApplicationCounterDemo.java
 * @author wangbiao<br/>
 *         email:785497344@qq.com
 * @description 模拟应用程序的计数器,只能用几次,次数到了就不能再使用了
 * @since 1.0.0
 * @date 2013-6-25下午11:28:06
 *
 */
public class ApplicationCounterDemo {

	public static void main(String[] args) {
		File file = new File("count.properties");
		if (!file.exists()) {
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		FileInputStream fis = null;
		FileOutputStream fos = null;
		try {
			// 流对象关联文件
			fis = new FileInputStream(file);
			Properties pro = new Properties();
			// 把流对象关联到配置文件
			pro.load(fis);

			// 计数器
			int counter = 0;
			String value = pro.getProperty("time");
			// 获取已有的次数
			if (null != value) {
				counter = Integer.parseInt(value);
				if (counter >= 5) {
					System.out.println("您好，你使用的次数已到，拿钱，不注册或者不拿钱你电脑会面临冒烟的危险！");
					return;
				}
			}
			counter++;

			pro.setProperty("time", counter + "");

			// 新设置的值写入配置文件
			fos = new FileOutputStream(file);
			pro.store(fos, "wangiao");

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != fis) {
					fis.close();
				}
				if (null != fos) {
					fos.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}
}
